Instant messaging (IM) applications have become ubiquitous tools for communicating. Historically, consumer-facing IM applications such as ICQ and AOL's Instant Messenger rose to prominence as a way for two or more parties to communicate via text in real time over the Internet. As texting and social networking applications grew in popularity, the more traditional IM applications lost favor, but other IM services became embedded into the social networking applications and/or were developed as standalone smartphone applications. More recently, IM applications have made their way into the enterprise as a supplement to, or in some cases a replacement of, email in the workplace.
Traditionally, the IM services are controlled by their corresponding provider companies and tend to follow the client-server model (i.e., all IM clients have to first connect to the central server). As such, the features of the different IM services are bound to the associated provider; however, certain features are more often than not incorporated into every IM service. One such feature is an availability status, commonly referred to as a presence status in some IM services. Typically, the availability status is displayed near a username associated with each user account's friendly name, and is usable to indicate one's availability at a given point in time.
For example, if a user is in a meeting, they can set their availability status to “In a Meeting.” Similarly, if a user is off work (e.g., over the weekend, on a holiday, etc.), the user can set their availability status to “Unavailable.” However, present technologies only display a current availability status, which may not allow another user to anticipate how long the user will maintain their current availability status. Accordingly, there exists a need for improvements in technologies for predicting availability status changes.